package com.hjb.service.user;

import java.math.BigDecimal;
import java.util.List;

import com.hjb.service.domain.siteuseraccount.SiteUserAccount;
import com.hjb.service.domain.siteuseraccount.SiteUserAccountExample;

public interface SiteUserAccountService {

	List<SiteUserAccount> selectByExample(SiteUserAccountExample example);

	int insertSiteUserAccount(SiteUserAccount siteUserAccount);
	
	void updateSiteUserAccount(SiteUserAccount siteUserAccount);
	
	/**
	 * 更新活期账户金额
	 * @param userId
	 * @param amount
	 * @param acctType
	 * @param inAccount
	 * @param outAccount
	 * @param orderId
	 * @param currnetOrder
	 * @param fixedOrder
	 * @param desc
	 * @return
	 */
	int updateCurrentAccount(Integer userId, BigDecimal amount, int acctType,
			Integer inAccount, Integer outAccount, String orderId,
			String currnetOrder, String fixedOrder,String desc,String inMsg,String outMsg);
	
	/**
	 * 更新冻结账户金额
	 * @param userId
	 * @param amount
	 * @param acctType
	 * @param inAccount
	 * @param outAccount
	 * @param orderId
	 * @param currnetOrder
	 * @param fixedOrder
	 * @param desc
	 * @return
	 */
	int updateFrozenAccount(Integer userId, BigDecimal amount, int acctType,
			Integer inAccount, Integer outAccount, String orderId,
			String currnetOrder, String fixedOrder,String desc);
	
	/**
	 * 更新账户体验金金额
	 * @param userId
	 * @param amount
	 * @param ype
	 * @param inAccount
	 * @param outAccount
	 * @param desc
	 * @return
	 */
	int updateExperienceAccount(Integer userId, BigDecimal amount, int type,
			Integer inAccount, Integer outAccount,String desc);
	
	/**
	 * 活期收益结算
	 */
	void settlementCurrentIncome();
	
}
